@@ -36,7 +36,7 @@ class BrandInfoAdmin(DeleteModelAdmin, admin.ModelAdmin): |
||
| 36 | 36 |
|
| 37 | 37 |
|
| 38 | 38 |
class ModelInfoAdmin(DeleteModelAdmin, admin.ModelAdmin): |
| 39 |
- list_display = ('brand_id', 'brand_name', 'model_id', 'model_name', 'model_full_name', 'model_descr', 'integral', 'position', 'status', 'created_at', 'updated_at')
|
|
| 39 |
+ list_display = ('brand_id', 'brand_name', 'model_id', 'model_name', 'model_full_name', 'model_descr', 'image', 'url', 'integral', 'position', 'status', 'created_at', 'updated_at')
|
|
| 40 | 40 |
list_filter = ('brand_name', 'status')
|
| 41 | 41 |
|
| 42 | 42 |
def save_model(self, request, obj, form, change): |
@@ -99,7 +99,7 @@ class ConsumeInfoSubmitLogInfoAdmin(ReadOnlyModelAdmin, admin.ModelAdmin): |
||
| 99 | 99 |
admin.site.register(OperatorInfo, OperatorInfoAdmin) |
| 100 | 100 |
admin.site.register(BrandInfo, BrandInfoAdmin) |
| 101 | 101 |
admin.site.register(ModelInfo, ModelInfoAdmin) |
| 102 |
-admin.site.register(ModelImageInfo, ModelImageInfoAdmin) |
|
| 102 |
+# admin.site.register(ModelImageInfo, ModelImageInfoAdmin) |
|
| 103 | 103 |
admin.site.register(DistributorInfo, DistributorInfoAdmin) |
| 104 | 104 |
admin.site.register(LatestAppInfo, LatestAppInfoAdmin) |
| 105 | 105 |
admin.site.register(ConsumeInfoSubmitLogInfo, ConsumeInfoSubmitLogInfoAdmin) |
@@ -0,0 +1,26 @@ |
||
| 1 |
+# -*- coding: utf-8 -*- |
|
| 2 |
+# Generated by Django 1.11.11 on 2018-04-01 12:12 |
|
| 3 |
+from __future__ import unicode_literals |
|
| 4 |
+ |
|
| 5 |
+from django.db import migrations, models |
|
| 6 |
+import django_models_ext.fileext |
|
| 7 |
+ |
|
| 8 |
+ |
|
| 9 |
+class Migration(migrations.Migration): |
|
| 10 |
+ |
|
| 11 |
+ dependencies = [ |
|
| 12 |
+ ('mch', '0011_modelinfo_model_full_name'),
|
|
| 13 |
+ ] |
|
| 14 |
+ |
|
| 15 |
+ operations = [ |
|
| 16 |
+ migrations.AddField( |
|
| 17 |
+ model_name='modelinfo', |
|
| 18 |
+ name='image', |
|
| 19 |
+ field=models.ImageField(blank=True, help_text='\u56fe\u7247', null=True, upload_to=django_models_ext.fileext.upload_path, verbose_name='image'), |
|
| 20 |
+ ), |
|
| 21 |
+ migrations.AddField( |
|
| 22 |
+ model_name='modelinfo', |
|
| 23 |
+ name='url', |
|
| 24 |
+ field=models.CharField(blank=True, help_text='\u94fe\u63a5', max_length=255, null=True, verbose_name='url'), |
|
| 25 |
+ ), |
|
| 26 |
+ ] |
@@ -74,6 +74,9 @@ class ModelInfo(BaseModelMixin): |
||
| 74 | 74 |
model_full_name = models.CharField(_(u'model_full_name'), max_length=255, blank=True, null=True, help_text=u'型号全名称') |
| 75 | 75 |
model_descr = models.TextField(_(u'model_descr'), max_length=255, blank=True, null=True, help_text=u'型号描述') |
| 76 | 76 |
|
| 77 |
+ image = models.ImageField(_(u'image'), upload_to=upload_path, blank=True, null=True, help_text=u'图片') |
|
| 78 |
+ url = models.CharField(_(u'url'), max_length=255, blank=True, null=True, help_text=u'链接') |
|
| 79 |
+ |
|
| 77 | 80 |
integral = models.IntegerField(_(u'integral'), default=100, help_text=u'积分') |
| 78 | 81 |
|
| 79 | 82 |
position = models.IntegerField(_(u'position'), default=1, help_text=u'排序') |
@@ -86,6 +89,10 @@ class ModelInfo(BaseModelMixin): |
||
| 86 | 89 |
return unicode(self.pk) |
| 87 | 90 |
|
| 88 | 91 |
@property |
| 92 |
+ def image_url(self): |
|
| 93 |
+ return upload_file_url(self.image) |
|
| 94 |
+ |
|
| 95 |
+ @property |
|
| 89 | 96 |
def data(self): |
| 90 | 97 |
return {
|
| 91 | 98 |
'model_id': str(self.pk), |
@@ -94,9 +101,17 @@ class ModelInfo(BaseModelMixin): |
||
| 94 | 101 |
} |
| 95 | 102 |
|
| 96 | 103 |
@property |
| 104 |
+ def imgdata(self): |
|
| 105 |
+ return {
|
|
| 106 |
+ 'image_url': self.image_url, |
|
| 107 |
+ 'url': self.url, |
|
| 108 |
+ } |
|
| 109 |
+ |
|
| 110 |
+ @property |
|
| 97 | 111 |
def images(self): |
| 98 |
- imgs = ModelImageInfo.objects.filter(model_id=self.model_id, status=True) |
|
| 99 |
- return [img.data for img in imgs] |
|
| 112 |
+ return [self.imgdata] if self.image else [] |
|
| 113 |
+ # imgs = ModelImageInfo.objects.filter(model_id=self.model_id, status=True) |
|
| 114 |
+ # return [img.data for img in imgs] |
|
| 100 | 115 |
|
| 101 | 116 |
|
| 102 | 117 |
class ModelImageInfo(BaseModelMixin): |